Method and system for reducing a voice signal noise

ABSTRACT

The invention concerns a method whereby, before being subjected to a low rate voice coding, an incoming digital voice signal s(k) is chronologically segmented ( 101 ) into blocks (block, m) said blocks (block, m) are broken down ( 102 ) respectively, in chronological order, into frequency components f(i, m) by a transformation in the frequency range and said frequency components are multiplied by weight factors depending on the frequency and modifiable in time, a frequency component being multiplied by the last weight factor calculated for said frequency component if said factor is less than the current weight factor.

[0001] The invention relates to a method and a system for voice processing, especially of noise in a voice signal.

[0002] The enormous pace of technical development in the area of mobile communication has led to constantly increasing demands on voice processing in recent years, especially voice encoding and noise suppression, and this is attributable in no small measure to the restricted availability of bandwidth and constantly increasing demands on voice quality.

[0003] A major component of voice processing consists of estimating the noise signal or interference by which for example a voice signal captured by a microphone is normally affected and if necessary suppressing it in the input signal, in order to only transmit the voice signal where possible. However, with conventional methods of noise suppression undesired artifacts, also referred to as musical tones, are frequently produced in the background signal.

[0004] The object of the invention is to specify a technical template which allows high quality voice transmission at a low data rate.

[0005] This object is achieved by the features of the Independent claims. Advantageous and worthwhile developments are produced by the dependent claims.

[0006] The invention is thus initially based on the idea of multiplying the frequency components of a voice signal affected by a noise signal before encoding with a low-rate voice codec by frequency-dependent weighting factors which change over time, where a frequency component is multiplied by the current weighting factor if this is smaller than the weighting factor last calculated for this frequency component, and where a frequency component is multiplied by the weighting factor last calculated for this frequency component if this is smaller than the current weighting factor. A low-rate voice codec is taken here to mean especially a voice codec which delivers a data rate which is less than 5 Kbits per second.

[0007] This has the effect of attenuating a noise signal applied to a voice signal in such a way as to enable good-quality voice transmission with minimum use of computing and memory resources.

[0008] The invention initially stems from the knowledge that when low-rate voice codecs are used, good voice quality can only be obtained if the artifacts—already explained above—are avoided or reduced as much as possible. This could be detected by using expensive simulation tools created separately for this purpose.

[0009] The invention is further based on the knowledge that,—as expensive simulations also show—by specific use of current or recently calculated weighting factors, artifacts in the background signal, especially during voice pauses, are reduced.

[0010] This advantageous effect of the invention, that is the combination of a specific method for noise suppression with a low-rate voice codec, which especially delivers a data rate that lies between 3 Kbits per second a 5 Kbits per second, was finally also confirmed by comprehensive simulations.

[0011] The further developments, embodiments and variants described in further or dependent claims are contained in the invention both in combination with the method and also in combination with the systems.

[0012] The invention is described in greater detail below on the basis of preferred exemplary embodiments, with the features contained therein also being able to be included in other combinations by the invention. The figures given below are designed to explain these exemplary embodiments:

[0013]FIG. 1 Simplified block diagram of a method for voice processing;

[0014]FIG. 2 Flowchart of a method for noise suppression;

[0015]FIG. 3 Simplified block diagram of a system for voice processing.

[0016]FIG. 1 shows a block diagram of a method for voice processing. This method can be roughly divided into the interoperating blocks noise suppression and downstream low-rate voice codec NSC. A low-rate voice codec, delivering a data rate of 4 Kbits per second for example, is known per se, and thus will not be described in any greater detail at this point.

[0017] The method for noise suppression can be subdivided into a number of functional blocks, which are explained below.

[0018] The blocks Analysis AN and Synthesis SY form the frame of the method for noise suppression. A segmentation of the input signal undertaken prior to an analysis AN (not shown in the Figure) as well as the block sizes used are tailored to the low-rate voice codec in such a way that the algorithmic delay of the signal caused by the noise suppression remains as small as possible. The input signal x(k) is segmented for example into blocks of 20 ms at a sample rate of 8 kHz. The processed data can also be passed on to the voice codec in segments with the specified block length.

[0019] The analysis AN in this case can comprise a windowing, zero-padding and a transformation in the frequency range through a Fourier transformation, and the synthesis SY a back transformation by an inverse Fourier transformation in the time range and a signal reconstruction in accordance with the Overlap Add Method.

[0020] The frequency components obtained from the analysis AN feature a real and an imaginary part or a magnitude and a phase. To save effort, the magnitudes of different adjacent frequency components are first combined into frequency groups on the basis of a Bark table FGZU1.

[0021] For each frequency group a gain calculation VB is executed on the basis of an A-priori and an A-posteriori signal-to-noise ratio which results in weighting factors for the magnitudes of the individual frequency groups. The A-priori signal-to-noise ratio can be derived from the power density spectrum of the disturbed input signal and the A-priori noise estimation GS. The A-posteriori signal-to-noise ratio can be calculated from the power density spectrum of the disturbed input signal and the output signal of a buffering P, which in turn is directed to a corrected frequency component combined by a frequency group combination FGZU2.

[0022] Before a decomposition FGZE of the frequency components previously combined into frequency groups and the multiplication of the frequency components by the weighting factor calculated for a corresponding frequency group in each case for noise suppression, the weighting factors are subjected to what is known as a minimum filter MF which will be explained in more detail later on the basis of FIG. 2.

[0023] Thus for noise estimation the power density of the background noise is essentially estimated from the input signal. To reduce the computing power needed as well as memory used, the A-priori noise estimation, the gain calculation, the buffering of the signal magnitude modified for noise signal suppression and the minimum filter are only executed in a few subbands. For this the magnitude of the input signal transformed in the frequency range and of the signal modified for noise suppression are combined with two blocks for frequency group combination into subbands. The width of the subbands is oriented in this case to the Bark scale and thus varies with the frequency. The output signal of each frequency group of the minimum filter is distributed by the block frequency group decomposition to the corresponding frequency components or Fourier coefficients. To calculate the input signal of the buffering block in another variant the combined magnitude of the input signal can be multiplied element-by-element with the output signal of the minimum filter instead of a frequency group combination of the signal modified for noise signal suppression.

[0024] As well as noise estimation there is an A-posteriori estimation of the voice signal proportion. For this the signal combined into frequency groups of the modified magnitude values for noise reduction is stored in the buffering block. The output signals of the A-priori noise estimation and the buffering are used in addition to the magnitude value of the input signal combined into frequency groups for calculation of the gain. Weighting factors result from the gain calculation and these are fed to a minimum filter—explained in more detail below. The minimum filter finally determines the weighting factors provided for multiplication with the frequency components of the frequency groups.

[0025] Using a flowchart shown in FIG. 2, a simplified embodiment variant for noise suppression of a voice signal will now be explained in more detail. In this case the frequency group combination blocks FGZU1, FGZU2 shown in FIG. 1 and frequency group decomposition are not used.

[0026] Disturbed voice signals picked up by a microphone are converted by a sampling unit and an analog/digital converter connected downstream from it into an incoming digital voice signal s(k) affected by disturbances n(k). This input signal is segmented chronologically into blocks (block, m) (101) and the blocks (block,m) are mapped in chronological order by a transformation into the frequency range to i frequency components f(i,m) in each case (102), with m representing the time and i the frequency. This can be done by a Fourier transformation for example. If the Fourier coefficients of the input signal are identified by X(i,m) the values IX(i,m)1{circumflex over ( )}2 can be identified as frequency components.

[0027] The frequency components of a voice signal f(i,m) are multiplied in accordance with the segmentation 101 explained above and transformation into the frequency range 102 by a weighting factor H(i,m), with the weighting factor for example being able to be derived from the estimated A-priori and A-posteriori signal-to-noise ratios already explained above. The A-priori signal-to-noise ratio can be derived from the power density spectrum of the disturbed input signal and the A-priori noise estimation. The A-posteriori signal-to-noise ratio can be calculated from the power density spectrum of the disturbed input signal and the output signal of the buffering.

[0028] The frequency or frequency component-dependent weighting factor is in this case modifiable over time and is determined so that is continuously updated to correspond to the chronologically modifiable frequency components. To avoid undesired artifacts in the background signal however, for realizing a minimum filter for multiplication by a frequency component f(i,m) the weighting factor H(i,m) currently calculated for this frequency component is not always included but when the weighting factor last calculated for this frequency component, that is in the previous step H(i,m−1) is smaller than the current weighting factor last calculated that is in the previous step for this frequency component H (i,m−1).

[0029] An embodiment variant of the invention provides for a frequency component to be multiplied by the current weighting factor when the frequency-dependent weighting factor lies above a threshold value even if the last weighting factor calculated for this frequency component is smaller than the current weighting factor.

[0030] This can be implemented by a filter which compares the current weighting factor with the chronologically previous weighting factor for the same frequency in each case and selects the smaller of the two values for application to the frequency component. If the fixed threshold value of 0.76 is exceeded by the current weighting factor, there is no modification of the frequency component.

[0031]FIG. 4 shows a programmable processor unit PE such as a microcontroller for example, which can also comprise a processor CPU and a memory unit SPE.

[0032] Depending on the variant, further components can be arranged within or outside the processor unit PE—assigned to the processor unit, belonging to the processor unit, controlled by the processor unit or controlling the processor unit, of which the function in conjunction with the processor unit is sufficiently known to the expert and which will thus not be described in any greater detail at this point. The various components can exchange data with the processor unit PE via a bus system BUS or input/output interfaces IOS and where necessary suitable controllers (not shown). In such cases the processor unit PE can be an element of an electronic device such as an electronic communication terminal or a mobile telephone for example and also control other specific methods and applications for the electronic device.

[0033] Depending on the variant, the memory unit SPE, which can also involve one or more volatile RAM or ROM memory modules, or parts of the memory unit SPE can be implemented as part of the processor unit (shown in the Figure) or implemented as an external memory unit (not shown in the Figure), which is localized outside the processor unit PE or even outside the device containing the processor unit PE and is connected to the processor unit PE by lines or a bus system.

[0034] The program data which is included for controlling the device and method of voice processing and for noise signal suppression is stored in the memory unit SPE. Implementing the above-mentioned functional components by programmable processors or by microcircuits provided separately for this purpose is part of the activities of experts.

[0035] The digital voice signals affected by disturbance can be fed to the processor unit PE via the input/output interface IOS. In addition to the processor CPU a digital signal processor DSP can be provided to execute all or some of the steps of the method explained above. 

1. Method for voice processing, in which an incoming digital voice signal s(k) is segmented chronologically into blocks (block,m) (101), in which the blocks (block,m) are mapped in chronological order by a transformation in the frequency range to frequency components (f,i) in each case (102), the frequency components are multiplied by chronologically modifiable frequency-dependent weighting factors, where a frequency component is multiplied by the current weighting factor if this is smaller than the weighting factor last calculated for this frequency component, where a frequency component is multiplied by the weighting factor last calculated for this frequency component if this is smaller than the current weighting factor, and for which the frequency components weighted in this way are fed back after a back transformation in the time range to a low-rate voice codec.
 2. Method in accordance with claim 1, in which a frequency component is multiplied by the current weighting factor if the frequency-dependent weighting factor lies above a threshold value, that is when the weighting factor last calculated for this frequency component is smaller than the current weighting factor.
 3. System for noise suppression with an input (IOS) for digital voice signals and with a processor unit (PE), which is designed in such a way that an incoming digital voice signal s(k) is chronologically segmented into blocks (block,m) (101), the blocks (block,m) are mapped in chronological order by a transformation in the frequency range onto frequency components (f,i) in each case (102), the frequency components are multiplied by chronologically modifiable frequency-dependent weighting factors, where a frequency component is multiplied by the current weighting factor if this is smaller than the last weighting factor calculated for this frequency component, and where a frequency component is multiplied by the weighting factor last calculated for this frequency component if this is smaller than the current weighting factor, and for which the frequency components weighted in this way are fed back after a back transformation in the time range to a low-rate voice codec.
 4. System according to claim 3, in which a frequency component is multiplied by the current weighting factor if the frequency-dependent weighting factor lies above a threshold value, that is when the weighting factor last calculated for this frequency component is smaller than the current weighting factor. 